import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)


const countOption={
    namespaced:true,
    action:{
        add(context,value){

            context.commit('ADD',value);
        },
        sub({commit},value){
            console.log("这里")
            commit("SUB",value);
        }
    },
    mutations:{
        ADD(state,value){
            state.sum+=value;
            console.log(state,value)
        },
        SUB(state,value){
            state.sum-=value;
        },
    },
    state:{
        sum:0,
        name:"小小",
    },
    getters:{
        bigNum(state){
            return state.sum**2
        }
    },
}

const personOption={
    namespaced:true,
    action:{},
    mutations:{
        ADD_PERSON(state,value){
            state.personList.unshift(value)
        }
    },
    getters:{},
    state:{
        personList:[
            {id:1,name:"jack"}
        ]
    },
}
// const actions={
//     add(context,value){
//
//         context.commit('ADD',value);
//     },
//     sub({commit},value){
//         commit("SUB",value);
//     }
// }
//
// const mutations={
//     ADD(state,value){
//         state.sum+=value;
//         console.log(state,value)
//     },
//     SUB(state,value){
//         state.sum-=value;
//     },
//     ADD_PERSON(state,value){
//         state.personList.unshift(value)
//     }
// }
// const getters={
//     bigNum(state){
//         return state.sum**2
//     }
// }
// const state={
//     sum:0,
//     name:"小小",
//     personList:[
//         {id:1,name:"jack"}
//     ]
// }

export default new Vuex.Store({
    // actions,
    // mutations,
    // state,
    // getters
    modules:{
        'count':countOption,
        'person':personOption
    }
})